﻿using System;
using System.Collections.Generic;

namespace UltimateFracturing
{
	// Token: 0x02000435 RID: 1077
	public struct EdgeKeyByIndex
	{
		// Token: 0x06001E4F RID: 7759 RVA: 0x000C1813 File Offset: 0x000BFA13
		public EdgeKeyByIndex(int nIndexA, int nIndexB)
		{
			this.nIndexA = nIndexA;
			this.nIndexB = nIndexB;
		}

		// Token: 0x06001E50 RID: 7760 RVA: 0x000C1813 File Offset: 0x000BFA13
		public void Set(int nIndexA, int nIndexB)
		{
			this.nIndexA = nIndexA;
			this.nIndexB = nIndexB;
		}

		// Token: 0x06001E51 RID: 7761 RVA: 0x000C1823 File Offset: 0x000BFA23
		public bool CompareTo(int nIndexA, int nIndexB)
		{
			return (this.nIndexA == nIndexA && this.nIndexB == nIndexB) || (this.nIndexA == nIndexB && this.nIndexB == nIndexA);
		}

		// Token: 0x04001EC8 RID: 7880
		public int nIndexA;

		// Token: 0x04001EC9 RID: 7881
		public int nIndexB;

		// Token: 0x02000436 RID: 1078
		public class EqualityComparer : IEqualityComparer<EdgeKeyByIndex>
		{
			// Token: 0x06001E53 RID: 7763 RVA: 0x000C185A File Offset: 0x000BFA5A
			public bool Equals(EdgeKeyByIndex x, EdgeKeyByIndex y)
			{
				return x.CompareTo(y.nIndexA, y.nIndexB);
			}

			// Token: 0x06001E54 RID: 7764 RVA: 0x000C1871 File Offset: 0x000BFA71
			public int GetHashCode(EdgeKeyByIndex x)
			{
				return x.nIndexA.GetHashCode() + x.nIndexB.GetHashCode();
			}
		}
	}
}
